//
//  HYXUnitTestNode.h
//  SpeSmartUnitTester_Example
//
//  Created by points on 2020/8/16.
//  Copyright © 2020 hfqf123. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "HYXUnitTestNodeData.h"
@class HYXUnitTestBaseViewController;
NS_ASSUME_NONNULL_BEGIN

#define NEED_UNITTEST 1



@interface HYXUnitTestNode : NSObject
@property(nonatomic,assign) NSInteger ParentId;
@property(nonatomic,assign) NSInteger CurrentId;
@property(nonatomic,assign) BOOL excuted;
@property(nonatomic,strong) HYXUnitTestNode *LeftChild;
@property(nonatomic,strong) HYXUnitTestNode *RightChild;
@property(nonatomic,strong) HYXUnitTestNode *root;
@property(nonatomic,strong) HYXUnitTestNode *parent;
@property(nonatomic,weak) HYXUnitTestBaseViewController *controller;
@property(nonatomic,strong) HYXUnitTestNodeData *Data;
@property(nonatomic,strong) UINavigationController *navi;

typedef void(^getNextNodeBlock)(HYXUnitTestNode *unitTestNode);

@property(nonatomic,copy) getNextNodeBlock nextNodeBlock;
typedef void(^HYXUnitTestNodeCommitedBlock)(HYXUnitTestNode *unitTestNode,HYXUnitTestBaseViewController *vc);

- (void)rebuildParentNode;

/// 执行当前节点操作，如页面跳转，提交操作
- (void)excuteNode;

- (void)autoExcute;

    
+ (HYXUnitTestNode *)getNextNode:(HYXUnitTestNode*)node;


@end

NS_ASSUME_NONNULL_END
